﻿// <copyright file="CueBannerInfo.cs" company="DotNetLib">
//
// .netlib: http://www.codeplex.com/DotNetLib
//
// This code is released under the New BSD License.
// A copy of this license is available at:
// http://www.codeplex.com/DotNetLib/license
//
// </copyright>

namespace DotNetLib.Windows.Forms.Internal
{
  /// <summary>
  /// An info class to store the details of the cue banner for a TextBox.
  /// </summary>
  internal class CueBannerInfo
  {
    /// <summary>
    /// The default value for the CueBanner property of a TextBox.
    /// </summary>
    public const string DefaultCueBanner = "";

    /// <summary>
    /// The default value for the ShowCueWhenFocused property of a TextBox.
    /// </summary>
    public const bool DefaultShowCueWhenFocused = true;

    /// <summary>
    /// Initializes a new instance of the <see cref="CueBannerInfo"/> class.
    /// </summary>
    public CueBannerInfo()
    {
      this.CueBanner = DefaultCueBanner;
      this.ShowCueWhenFocused = DefaultShowCueWhenFocused;
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="CueBannerInfo"/> class.
    /// </summary>
    /// <param name="cueBanner">The text to show as the cue banner.</param>
    /// <param name="showCueWhenFocused">Whether the cue banner is shown when the TextBox has focus.</param>
    public CueBannerInfo(string cueBanner, bool showCueWhenFocused)
    {
      this.CueBanner = cueBanner;
      this.ShowCueWhenFocused = showCueWhenFocused;
    }

    /// <summary>
    /// Gets or sets the text to show as the cue banner for the TextBox.
    /// </summary>
    public string CueBanner { get; set; }

    /// <summary>
    /// Gets or sets a value indicating whether the cue banner is shown when the TextBox has focus.
    /// </summary>
    public bool ShowCueWhenFocused { get; set; }
  }
}
